// pages/RecommendDes/RecommendDes.js
const DB = wx.cloud.database();
const foodCenter = DB.collection("FoodCenter");
const foodCrd = DB.collection("FoodCRD");
const foodOut = DB.collection("FoodOut");
// 方案数据库
const addprogramme = DB.collection("addprogramme");
const app = getApp()
//数据库操作指令定义
const _ = DB.command

//找食物分类ID
var foodsId = ""

//获取计划标题
var _programmeId = ""
// 定时器
var timerId = ""

Page({

  /**
   * 页面的初始数据
   */
  data: {
    FOODS : [],
    // 添加到计划页面标志
    addInfo : [],
    addprogrammeId : [],
    // 界面渲染临时变量判定
    fc : [],
    fcrd : [],
    fout : []


  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let _this = this
    // 获取上一个界面带过来的参数
    foodsId = options.foodsId
    // 解析ID 通过地中海食谱数据库查询(where) 以下2个相同 不做介绍
    foodCenter.where({
      _id:foodsId
    }).get({
      success(res){
         // 存在数据 存入临时变量 fc
        _this.setData({
          fc : res.data
        })
      }
    })

    foodCrd.where({
      _id:foodsId
    }).get({
      success(res){
        // _this.data.aer = res.data
        // console.log(res)
        _this.setData({
          fcrd : res.data
          // FOODS:res.data,
          // addInfo : res.data
        })
      }
    })

    foodOut.where({
      _id:foodsId
    }).get({
      success(res){
        // _this.data.aer = res.data
        // console.log(res)
        _this.setData({
          fout : res.data
          // FOODS:res.data,
          // addInfo : res.data
        })
      }
    })
    // 定时器 避免程序太快 结果返回值为空
    timerId = setTimeout(function() {
      // 判断那个数据库查到由数据 就将该条数据用于wxml界面渲染 以下2个相同 不做介绍
    if(_this.data.fc.length == 1){
      _this.setData({
        // 数据库界面数据绑定渲染 
        FOODS: _this.data.fc,
        // 用作全局Id绑定 目的是退出这个页面也能跟添加运动方案进行关联
        addInfo : _this.data.fc,
      })
    }
    else if(_this.data.fcrd.length == 1){
      _this.setData({
        FOODS: _this.data.fcrd,
        addInfo : _this.data.fcrd,
      })
    }
    else if(_this.data.fout.length == 1){
      _this.setData({
        FOODS: _this.data.fout,
        addInfo : _this.data.fout,
      })
    }
    else{

    }
  }, 1000);

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    // 用户返回上一页 携带当前添加的id值跟着走 用于建立运动方案的联系
    let that = this
    clearTimeout(timerId) 
    console.log(_programmeId)
    //关掉窗口 转添加计划数据库Id发送出去
    // 实现方法：
    // 将刚刚添加的数据的一项作为关键值去搜索 把搜索到的属性Id取出
    addprogramme.where(_.or([{
      programmeId: DB.RegExp({
        regexp: '.*' + _programmeId,
        options: 'i',
      })
    },
    {
      address: DB.RegExp({
        regexp: '.*' + _programmeId,
        options: 'i',
      })
    }
    ])).get({
      success: res => {
        // console.log(res)
        that.setData({
          //id发送
          addprogrammeId : res.data
        })
        
        let index = that.data.addprogrammeId.length
        // id 属性发往全局变量 便于运动数据库的添加 若同时选择多次 那就选择最后一次id值
        app.globalData.addProId = that.data.addprogrammeId[index-1]._id
      },
      fail: err => {
        console.log(err)
      }
    })

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  foodAdd(){
    let that = this

    let foodsInfo = that.data.addInfo[0]

    // console.log("===================",foodsInfo)

    //计划
    _programmeId = foodsInfo.title
    //主食
    let _staplefood = foodsInfo.mainfood
    //套餐
    let _foods = foodsInfo.foods
    //饮品
    let _drinks = foodsInfo.drink

    // 添加方案到 方案列表数据库 add添加数据
    addprogramme.add({
      data:{
        programmeId : _programmeId,
        staplefood :_staplefood,
        foods : _foods,
        drinks : _drinks
      }
    })
    wx.showToast({
      title: '添加成功'
    })
  }
})